package genetica.cromosomas.factorias;

import genetica.cromosomas.Cromosoma;
import genetica.cromosomas.CromosomaViajante;
import genetica.cromosomas.evaluadores.EvaluadorViajante;

public class FactoriaViajante extends FactoriaCromosomas<Cromosoma> {

	int ciudadInicial = 0;
	
	public FactoriaViajante(int ciudadInicial){
		this.ciudadInicial = ciudadInicial;
	}
	
	/**
	 * Genera un cromosoma viajante aleatorio empezando en Madrid
	 */
	@Override
	public CromosomaViajante crea() {
		if (Cromosoma.getEvaluador() == null)
			Cromosoma.setEvaluador(new EvaluadorViajante());
		return new CromosomaViajante(ciudadInicial);
	}

	@Override
	public Cromosoma copia(Cromosoma original) {
		return (Cromosoma) original.clone();
	}
	public String toString(){
		return "Problema del viajante";
	}
}
